<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>fgets</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">Standard C I/O</a> &gt; <a href="fgets.html">fgets</a>
  </div>

  <div class="name-format">
    fgets
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  #include &lt;stdio.h&gt;
  char *fgets( char *str, int num, FILE *stream );
</pre>

  <p>The function fgets() reads up to <em>num</em> - 1 characters from
  the given file <em>stream</em> and dumps them into <em>str</em>.
  The string that fgets() produces is always
  <strong>NULL</strong>-terminated.  fgets() will stop when it reaches
  the end of a line, in which case <em>str</em> will contain that
  newline character. Otherwise, fgets() will stop when it reaches
  <em>num</em> - 1 characters or encounters the <strong>EOF</strong>
  character.  fgets() returns <em>str</em> on success, and
  <strong>NULL</strong> on an error.</p>

  <div class="related-name-format">
    Related topics:
  </div>

  <div class="related-content">
    <a href="fputs.html">fputs</a><br>
    <a href="fscanf.html">fscanf</a><br>
    <a href="gets.html">gets</a><br>
    <a href="scanf.html">scanf</a>
  </div>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
